﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SIMCObjetoNegocio
{
    [Serializable]
    public class Telefono
    {
        public int IdPersona { get; set; }
        public string DDI { get; set; }
        public string DDN { get; set; }
        public string Numero { get; set; }
        public string DescripcionTelefono { get; set; }

        public Telefono()
        { 
            IdPersona = 0;
            DDI = string.Empty;
            DDN = string.Empty;
            Numero = string.Empty;
            DescripcionTelefono = string.Empty;
        }

        public Telefono(string numTelef, string descripcion, string codInternacional)
        {
            CrearTelefono(numTelef,descripcion,codInternacional);
        }

        private void CrearTelefono(string numTelef, string descripcion, string codInternacional)
        {
            string tempString = string.Empty;
            char[] arr = numTelef.ToCharArray();
            try
            {
                
                //SE OBTIENE UN STRING LIMPIO BASADO EN SOLO NUMEROS
                for (int i = 0; i < arr.Length; i++)
                    if (char.IsNumber(arr[i]))
                        tempString += arr[i].ToString();

                //SE OBTIENEN LOS ULTIMOS 7 NUMEROS DEL STRING 
                if (tempString.Length > 7)
                {
                    this.Numero = tempString.Substring(tempString.Length - 7, 7);
                    //LUEGO LOS PRIMEROS... COMO CODIGO DE AREA
                    this.DDN = tempString.Substring(0, tempString.Length - 7);
                }
                else//SI NO EXISTEN MAS DE 7 CARACTERES EN EL TELEFONO, SE COLOCA POR DEFECTO
                    this.Numero = tempString.Trim();
                this.DDI = codInternacional;//ASIGNO EL DDI
                this.DescripcionTelefono = descripcion; //ASIGNO LA DESCRIPCION DEL TELEFONO
            }
            catch { }
        }

        public string GetTelefonoCompleto
        {
            get 
            {
                string resp = string.Empty;
                if (Numero.Trim() != string.Empty)
                {
                    if (DDI != string.Empty)
                    {
                        resp = "(+" + DDI + ")";
                    }
                    if (DDN != string.Empty)
                    {
                        resp += DDN + "-";
                    }
                    resp += Numero; 
                }
                return resp;
            }
        }
    }

    
}
